package main

import "fmt"

const INIT = 20

type List struct {
	data [INIT]int
	capcity int
	length int
}

func (l *List) NewList() List {
	return List{}
}

func (l *List) set(x int, index int) bool {
	return false
}

func (l *List) _insertSafe(x int, index int) bool {
	// 如果在尾部添加则无需移动元素
	// 否则需要将 array 中 index 后的部分整体的后移，之后在指定未知插入元素
	return false
}

func (l *List) insert(x int, index int) bool {
	if l.length + 1 >= l.capcity {
		// 增加一倍的空间 之后再进行插入操作
		l._insertSafe(x, index)
	} else {
		l._insertSafe(x, index)
	}
	return false
}

func (l *List) display() {
	fmt.Println(l)
}

func main() {
	l := List{[INIT]int{1,2,3}, INIT, INIT}

	l.insert(9, 9)
	l.display()
}
